
// Generated from Pin.g4 by ANTLR 4.13.1

#pragma once


#include "antlr4-runtime.h"
#include "PinListener.h"


/**
 * This class provides an empty implementation of PinListener,
 * which can be extended to create a listener which only needs to handle a subset
 * of the available methods.
 */
class  PinBaseListener : public PinListener {
public:

  virtual void enterProgram(PinParser::ProgramContext * /*ctx*/) override { }
  virtual void exitProgram(PinParser::ProgramContext * /*ctx*/) override { }

  virtual void enterDefglobal(PinParser::DefglobalContext * /*ctx*/) override { }
  virtual void exitDefglobal(PinParser::DefglobalContext * /*ctx*/) override { }

  virtual void enterGlobalstate(PinParser::GlobalstateContext * /*ctx*/) override { }
  virtual void exitGlobalstate(PinParser::GlobalstateContext * /*ctx*/) override { }

  virtual void enterBlock(PinParser::BlockContext * /*ctx*/) override { }
  virtual void exitBlock(PinParser::BlockContext * /*ctx*/) override { }

  virtual void enterStatement(PinParser::StatementContext * /*ctx*/) override { }
  virtual void exitStatement(PinParser::StatementContext * /*ctx*/) override { }

  virtual void enterSignalState(PinParser::SignalStateContext * /*ctx*/) override { }
  virtual void exitSignalState(PinParser::SignalStateContext * /*ctx*/) override { }

  virtual void enterPass(PinParser::PassContext * /*ctx*/) override { }
  virtual void exitPass(PinParser::PassContext * /*ctx*/) override { }

  virtual void enterDefvar(PinParser::DefvarContext * /*ctx*/) override { }
  virtual void exitDefvar(PinParser::DefvarContext * /*ctx*/) override { }

  virtual void enterDeclareStruct(PinParser::DeclareStructContext * /*ctx*/) override { }
  virtual void exitDeclareStruct(PinParser::DeclareStructContext * /*ctx*/) override { }

  virtual void enterDefstvar(PinParser::DefstvarContext * /*ctx*/) override { }
  virtual void exitDefstvar(PinParser::DefstvarContext * /*ctx*/) override { }

  virtual void enterOnest(PinParser::OnestContext * /*ctx*/) override { }
  virtual void exitOnest(PinParser::OnestContext * /*ctx*/) override { }

  virtual void enterAssign(PinParser::AssignContext * /*ctx*/) override { }
  virtual void exitAssign(PinParser::AssignContext * /*ctx*/) override { }

  virtual void enterAssginNoEnd(PinParser::AssginNoEndContext * /*ctx*/) override { }
  virtual void exitAssginNoEnd(PinParser::AssginNoEndContext * /*ctx*/) override { }

  virtual void enterAssignVar(PinParser::AssignVarContext * /*ctx*/) override { }
  virtual void exitAssignVar(PinParser::AssignVarContext * /*ctx*/) override { }

  virtual void enterAssignStructVar(PinParser::AssignStructVarContext * /*ctx*/) override { }
  virtual void exitAssignStructVar(PinParser::AssignStructVarContext * /*ctx*/) override { }

  virtual void enterRightvar(PinParser::RightvarContext * /*ctx*/) override { }
  virtual void exitRightvar(PinParser::RightvarContext * /*ctx*/) override { }

  virtual void enterStRightVar(PinParser::StRightVarContext * /*ctx*/) override { }
  virtual void exitStRightVar(PinParser::StRightVarContext * /*ctx*/) override { }

  virtual void enterAssignStOne(PinParser::AssignStOneContext * /*ctx*/) override { }
  virtual void exitAssignStOne(PinParser::AssignStOneContext * /*ctx*/) override { }

  virtual void enterStFromExpr(PinParser::StFromExprContext * /*ctx*/) override { }
  virtual void exitStFromExpr(PinParser::StFromExprContext * /*ctx*/) override { }

  virtual void enterAssignOp(PinParser::AssignOpContext * /*ctx*/) override { }
  virtual void exitAssignOp(PinParser::AssignOpContext * /*ctx*/) override { }

  virtual void enterPrintFormatPart(PinParser::PrintFormatPartContext * /*ctx*/) override { }
  virtual void exitPrintFormatPart(PinParser::PrintFormatPartContext * /*ctx*/) override { }

  virtual void enterSingleExpr(PinParser::SingleExprContext * /*ctx*/) override { }
  virtual void exitSingleExpr(PinParser::SingleExprContext * /*ctx*/) override { }

  virtual void enterMultiExpr(PinParser::MultiExprContext * /*ctx*/) override { }
  virtual void exitMultiExpr(PinParser::MultiExprContext * /*ctx*/) override { }

  virtual void enterFmtString(PinParser::FmtStringContext * /*ctx*/) override { }
  virtual void exitFmtString(PinParser::FmtStringContext * /*ctx*/) override { }

  virtual void enterFormatPrintExpr(PinParser::FormatPrintExprContext * /*ctx*/) override { }
  virtual void exitFormatPrintExpr(PinParser::FormatPrintExprContext * /*ctx*/) override { }

  virtual void enterPrintExpr(PinParser::PrintExprContext * /*ctx*/) override { }
  virtual void exitPrintExpr(PinParser::PrintExprContext * /*ctx*/) override { }

  virtual void enterOutputExpr(PinParser::OutputExprContext * /*ctx*/) override { }
  virtual void exitOutputExpr(PinParser::OutputExprContext * /*ctx*/) override { }

  virtual void enterPinAutoAddSub(PinParser::PinAutoAddSubContext * /*ctx*/) override { }
  virtual void exitPinAutoAddSub(PinParser::PinAutoAddSubContext * /*ctx*/) override { }

  virtual void enterStrExpr(PinParser::StrExprContext * /*ctx*/) override { }
  virtual void exitStrExpr(PinParser::StrExprContext * /*ctx*/) override { }

  virtual void enterLogAndExpr(PinParser::LogAndExprContext * /*ctx*/) override { }
  virtual void exitLogAndExpr(PinParser::LogAndExprContext * /*ctx*/) override { }

  virtual void enterLogOrExpr(PinParser::LogOrExprContext * /*ctx*/) override { }
  virtual void exitLogOrExpr(PinParser::LogOrExprContext * /*ctx*/) override { }

  virtual void enterRowStrExpr(PinParser::RowStrExprContext * /*ctx*/) override { }
  virtual void exitRowStrExpr(PinParser::RowStrExprContext * /*ctx*/) override { }

  virtual void enterAssignAutoAdd(PinParser::AssignAutoAddContext * /*ctx*/) override { }
  virtual void exitAssignAutoAdd(PinParser::AssignAutoAddContext * /*ctx*/) override { }

  virtual void enterSubExpr(PinParser::SubExprContext * /*ctx*/) override { }
  virtual void exitSubExpr(PinParser::SubExprContext * /*ctx*/) override { }

  virtual void enterParenthesesExpr(PinParser::ParenthesesExprContext * /*ctx*/) override { }
  virtual void exitParenthesesExpr(PinParser::ParenthesesExprContext * /*ctx*/) override { }

  virtual void enterGreaterEqualExpr(PinParser::GreaterEqualExprContext * /*ctx*/) override { }
  virtual void exitGreaterEqualExpr(PinParser::GreaterEqualExprContext * /*ctx*/) override { }

  virtual void enterFloatExpr(PinParser::FloatExprContext * /*ctx*/) override { }
  virtual void exitFloatExpr(PinParser::FloatExprContext * /*ctx*/) override { }

  virtual void enterGreaterExpr(PinParser::GreaterExprContext * /*ctx*/) override { }
  virtual void exitGreaterExpr(PinParser::GreaterExprContext * /*ctx*/) override { }

  virtual void enterFmtStrExpr(PinParser::FmtStrExprContext * /*ctx*/) override { }
  virtual void exitFmtStrExpr(PinParser::FmtStrExprContext * /*ctx*/) override { }

  virtual void enterDivExpr(PinParser::DivExprContext * /*ctx*/) override { }
  virtual void exitDivExpr(PinParser::DivExprContext * /*ctx*/) override { }

  virtual void enterUnequalExpr(PinParser::UnequalExprContext * /*ctx*/) override { }
  virtual void exitUnequalExpr(PinParser::UnequalExprContext * /*ctx*/) override { }

  virtual void enterRemainderExpr(PinParser::RemainderExprContext * /*ctx*/) override { }
  virtual void exitRemainderExpr(PinParser::RemainderExprContext * /*ctx*/) override { }

  virtual void enterBoolValueExpr(PinParser::BoolValueExprContext * /*ctx*/) override { }
  virtual void exitBoolValueExpr(PinParser::BoolValueExprContext * /*ctx*/) override { }

  virtual void enterNegationExpr(PinParser::NegationExprContext * /*ctx*/) override { }
  virtual void exitNegationExpr(PinParser::NegationExprContext * /*ctx*/) override { }

  virtual void enterIntExpr(PinParser::IntExprContext * /*ctx*/) override { }
  virtual void exitIntExpr(PinParser::IntExprContext * /*ctx*/) override { }

  virtual void enterInExpr(PinParser::InExprContext * /*ctx*/) override { }
  virtual void exitInExpr(PinParser::InExprContext * /*ctx*/) override { }

  virtual void enterLessExpr(PinParser::LessExprContext * /*ctx*/) override { }
  virtual void exitLessExpr(PinParser::LessExprContext * /*ctx*/) override { }

  virtual void enterOrExpr(PinParser::OrExprContext * /*ctx*/) override { }
  virtual void exitOrExpr(PinParser::OrExprContext * /*ctx*/) override { }

  virtual void enterFlagExpr(PinParser::FlagExprContext * /*ctx*/) override { }
  virtual void exitFlagExpr(PinParser::FlagExprContext * /*ctx*/) override { }

  virtual void enterCharValueExpr(PinParser::CharValueExprContext * /*ctx*/) override { }
  virtual void exitCharValueExpr(PinParser::CharValueExprContext * /*ctx*/) override { }

  virtual void enterLogRevExpr(PinParser::LogRevExprContext * /*ctx*/) override { }
  virtual void exitLogRevExpr(PinParser::LogRevExprContext * /*ctx*/) override { }

  virtual void enterMultExpr(PinParser::MultExprContext * /*ctx*/) override { }
  virtual void exitMultExpr(PinParser::MultExprContext * /*ctx*/) override { }

  virtual void enterLessEqualExpr(PinParser::LessEqualExprContext * /*ctx*/) override { }
  virtual void exitLessEqualExpr(PinParser::LessEqualExprContext * /*ctx*/) override { }

  virtual void enterVarExpr(PinParser::VarExprContext * /*ctx*/) override { }
  virtual void exitVarExpr(PinParser::VarExprContext * /*ctx*/) override { }

  virtual void enterNotExpr(PinParser::NotExprContext * /*ctx*/) override { }
  virtual void exitNotExpr(PinParser::NotExprContext * /*ctx*/) override { }

  virtual void enterNotinExpr(PinParser::NotinExprContext * /*ctx*/) override { }
  virtual void exitNotinExpr(PinParser::NotinExprContext * /*ctx*/) override { }

  virtual void enterAddExpr(PinParser::AddExprContext * /*ctx*/) override { }
  virtual void exitAddExpr(PinParser::AddExprContext * /*ctx*/) override { }

  virtual void enterLogXorExpr(PinParser::LogXorExprContext * /*ctx*/) override { }
  virtual void exitLogXorExpr(PinParser::LogXorExprContext * /*ctx*/) override { }

  virtual void enterCallFunExpr(PinParser::CallFunExprContext * /*ctx*/) override { }
  virtual void exitCallFunExpr(PinParser::CallFunExprContext * /*ctx*/) override { }

  virtual void enterEqualExpr(PinParser::EqualExprContext * /*ctx*/) override { }
  virtual void exitEqualExpr(PinParser::EqualExprContext * /*ctx*/) override { }

  virtual void enterAndExpr(PinParser::AndExprContext * /*ctx*/) override { }
  virtual void exitAndExpr(PinParser::AndExprContext * /*ctx*/) override { }

  virtual void enterList(PinParser::ListContext * /*ctx*/) override { }
  virtual void exitList(PinParser::ListContext * /*ctx*/) override { }

  virtual void enterElement(PinParser::ElementContext * /*ctx*/) override { }
  virtual void exitElement(PinParser::ElementContext * /*ctx*/) override { }

  virtual void enterMap(PinParser::MapContext * /*ctx*/) override { }
  virtual void exitMap(PinParser::MapContext * /*ctx*/) override { }

  virtual void enterMapelement(PinParser::MapelementContext * /*ctx*/) override { }
  virtual void exitMapelement(PinParser::MapelementContext * /*ctx*/) override { }

  virtual void enterMapkey(PinParser::MapkeyContext * /*ctx*/) override { }
  virtual void exitMapkey(PinParser::MapkeyContext * /*ctx*/) override { }

  virtual void enterAtom(PinParser::AtomContext * /*ctx*/) override { }
  virtual void exitAtom(PinParser::AtomContext * /*ctx*/) override { }

  virtual void enterRevVar(PinParser::RevVarContext * /*ctx*/) override { }
  virtual void exitRevVar(PinParser::RevVarContext * /*ctx*/) override { }

  virtual void enterPinvar(PinParser::PinvarContext * /*ctx*/) override { }
  virtual void exitPinvar(PinParser::PinvarContext * /*ctx*/) override { }

  virtual void enterListMapVar(PinParser::ListMapVarContext * /*ctx*/) override { }
  virtual void exitListMapVar(PinParser::ListMapVarContext * /*ctx*/) override { }

  virtual void enterListindex(PinParser::ListindexContext * /*ctx*/) override { }
  virtual void exitListindex(PinParser::ListindexContext * /*ctx*/) override { }

  virtual void enterStructMem(PinParser::StructMemContext * /*ctx*/) override { }
  virtual void exitStructMem(PinParser::StructMemContext * /*ctx*/) override { }

  virtual void enterStructMemVar(PinParser::StructMemVarContext * /*ctx*/) override { }
  virtual void exitStructMemVar(PinParser::StructMemVarContext * /*ctx*/) override { }

  virtual void enterStMemVar(PinParser::StMemVarContext * /*ctx*/) override { }
  virtual void exitStMemVar(PinParser::StMemVarContext * /*ctx*/) override { }

  virtual void enterMemberFunAccess(PinParser::MemberFunAccessContext * /*ctx*/) override { }
  virtual void exitMemberFunAccess(PinParser::MemberFunAccessContext * /*ctx*/) override { }

  virtual void enterFunobj(PinParser::FunobjContext * /*ctx*/) override { }
  virtual void exitFunobj(PinParser::FunobjContext * /*ctx*/) override { }

  virtual void enterFunction(PinParser::FunctionContext * /*ctx*/) override { }
  virtual void exitFunction(PinParser::FunctionContext * /*ctx*/) override { }

  virtual void enterDefFunRet(PinParser::DefFunRetContext * /*ctx*/) override { }
  virtual void exitDefFunRet(PinParser::DefFunRetContext * /*ctx*/) override { }

  virtual void enterFunretArg(PinParser::FunretArgContext * /*ctx*/) override { }
  virtual void exitFunretArg(PinParser::FunretArgContext * /*ctx*/) override { }

  virtual void enterRetCode(PinParser::RetCodeContext * /*ctx*/) override { }
  virtual void exitRetCode(PinParser::RetCodeContext * /*ctx*/) override { }

  virtual void enterDefArgumentList(PinParser::DefArgumentListContext * /*ctx*/) override { }
  virtual void exitDefArgumentList(PinParser::DefArgumentListContext * /*ctx*/) override { }

  virtual void enterDefArgument(PinParser::DefArgumentContext * /*ctx*/) override { }
  virtual void exitDefArgument(PinParser::DefArgumentContext * /*ctx*/) override { }

  virtual void enterFormat_string(PinParser::Format_stringContext * /*ctx*/) override { }
  virtual void exitFormat_string(PinParser::Format_stringContext * /*ctx*/) override { }

  virtual void enterNoRetCallFun(PinParser::NoRetCallFunContext * /*ctx*/) override { }
  virtual void exitNoRetCallFun(PinParser::NoRetCallFunContext * /*ctx*/) override { }

  virtual void enterWithRetCallFun(PinParser::WithRetCallFunContext * /*ctx*/) override { }
  virtual void exitWithRetCallFun(PinParser::WithRetCallFunContext * /*ctx*/) override { }

  virtual void enterReturnCallFun(PinParser::ReturnCallFunContext * /*ctx*/) override { }
  virtual void exitReturnCallFun(PinParser::ReturnCallFunContext * /*ctx*/) override { }

  virtual void enterRealCallFun(PinParser::RealCallFunContext * /*ctx*/) override { }
  virtual void exitRealCallFun(PinParser::RealCallFunContext * /*ctx*/) override { }

  virtual void enterMultiCallFun(PinParser::MultiCallFunContext * /*ctx*/) override { }
  virtual void exitMultiCallFun(PinParser::MultiCallFunContext * /*ctx*/) override { }

  virtual void enterFun_ret(PinParser::Fun_retContext * /*ctx*/) override { }
  virtual void exitFun_ret(PinParser::Fun_retContext * /*ctx*/) override { }

  virtual void enterRet_id(PinParser::Ret_idContext * /*ctx*/) override { }
  virtual void exitRet_id(PinParser::Ret_idContext * /*ctx*/) override { }

  virtual void enterArgumentList(PinParser::ArgumentListContext * /*ctx*/) override { }
  virtual void exitArgumentList(PinParser::ArgumentListContext * /*ctx*/) override { }

  virtual void enterArgument(PinParser::ArgumentContext * /*ctx*/) override { }
  virtual void exitArgument(PinParser::ArgumentContext * /*ctx*/) override { }

  virtual void enterIf(PinParser::IfContext * /*ctx*/) override { }
  virtual void exitIf(PinParser::IfContext * /*ctx*/) override { }

  virtual void enterZif(PinParser::ZifContext * /*ctx*/) override { }
  virtual void exitZif(PinParser::ZifContext * /*ctx*/) override { }

  virtual void enterQt(PinParser::QtContext * /*ctx*/) override { }
  virtual void exitQt(PinParser::QtContext * /*ctx*/) override { }

  virtual void enterForState(PinParser::ForStateContext * /*ctx*/) override { }
  virtual void exitForState(PinParser::ForStateContext * /*ctx*/) override { }

  virtual void enterWhileState(PinParser::WhileStateContext * /*ctx*/) override { }
  virtual void exitWhileState(PinParser::WhileStateContext * /*ctx*/) override { }

  virtual void enterForInState(PinParser::ForInStateContext * /*ctx*/) override { }
  virtual void exitForInState(PinParser::ForInStateContext * /*ctx*/) override { }

  virtual void enterForwalk(PinParser::ForwalkContext * /*ctx*/) override { }
  virtual void exitForwalk(PinParser::ForwalkContext * /*ctx*/) override { }

  virtual void enterForinvar(PinParser::ForinvarContext * /*ctx*/) override { }
  virtual void exitForinvar(PinParser::ForinvarContext * /*ctx*/) override { }

  virtual void enterForinit(PinParser::ForinitContext * /*ctx*/) override { }
  virtual void exitForinit(PinParser::ForinitContext * /*ctx*/) override { }

  virtual void enterForinc(PinParser::ForincContext * /*ctx*/) override { }
  virtual void exitForinc(PinParser::ForincContext * /*ctx*/) override { }

  virtual void enterBreak(PinParser::BreakContext * /*ctx*/) override { }
  virtual void exitBreak(PinParser::BreakContext * /*ctx*/) override { }

  virtual void enterContinue(PinParser::ContinueContext * /*ctx*/) override { }
  virtual void exitContinue(PinParser::ContinueContext * /*ctx*/) override { }

  virtual void enterStruct_body(PinParser::Struct_bodyContext * /*ctx*/) override { }
  virtual void exitStruct_body(PinParser::Struct_bodyContext * /*ctx*/) override { }

  virtual void enterStruct_var(PinParser::Struct_varContext * /*ctx*/) override { }
  virtual void exitStruct_var(PinParser::Struct_varContext * /*ctx*/) override { }

  virtual void enterPinFlag(PinParser::PinFlagContext * /*ctx*/) override { }
  virtual void exitPinFlag(PinParser::PinFlagContext * /*ctx*/) override { }

  virtual void enterUnknown(PinParser::UnknownContext * /*ctx*/) override { }
  virtual void exitUnknown(PinParser::UnknownContext * /*ctx*/) override { }


  virtual void enterEveryRule(antlr4::ParserRuleContext * /*ctx*/) override { }
  virtual void exitEveryRule(antlr4::ParserRuleContext * /*ctx*/) override { }
  virtual void visitTerminal(antlr4::tree::TerminalNode * /*node*/) override { }
  virtual void visitErrorNode(antlr4::tree::ErrorNode * /*node*/) override { }

};

